home *** CD-ROM | disk | FTP | other *** search
/ Sprite 1984 - 1993 / Sprite 1984 - 1993.iso / src / machserver / 1.098 / lfs / lfsDirLogInt.h < prev    next >
C/C++ Source or Header  |  1990-10-19  |  2KB  |  51 lines

  1. /*
  2.  * lfsDirLogInt.h --
  3.  *
  4.  *    Declarations of data structure internal to the implemenation of
  5.  *    a directory change log for a LFS file system.
  6.  *
  7.  * Copyright 1990 Regents of the University of California
  8.  * Permission to use, copy, modify, and distribute this
  9.  * software and its documentation for any purpose and without
  10.  * fee is hereby granted, provided that the above copyright
  11.  * notice appear in all copies.  The University of California
  12.  * makes no representations about the suitability of this
  13.  * software for any purpose.  It is provided "as is" without
  14.  * express or implied warranty.
  15.  *
  16.  * $Header: /sprite/src/kernel/lfs/RCS/lfsDirLogInt.h,v 1.1 90/10/19 16:01:46 mendel Exp $ SPRITE (Berkeley)
  17.  */
  18.  
  19. #ifndef _LFSDIRLOGINT
  20. #define _LFSDIRLOGINT
  21.  
  22. #include <lfsDirOpLog.h>
  23.  
  24. /* data structures */
  25.  
  26. typedef struct LfsDirLog {
  27.     int            nextLogSeqNum;    /* The next log sequence number to be
  28.                      * allocated. */
  29.     LfsDirOpLogBlockHdr *curBlockHdrPtr; /* The log block header of the block
  30.                      * current being filled in. */
  31.     char        *nextBytePtr;    /* The next available byte in the
  32.                      * block being filled in. */
  33.     int            bytesLeftInBlock;/* Number of bytes left in the
  34.                       * block being filled in. */
  35.     List_Links        activeListHdr;   /* List cache blocks of log blocks. */
  36.     List_Links        writingListHdr;   /* List cache blocks of log blocks
  37.                        * being written. */
  38.     Fsio_FileIOHandle   handle;         /* File handle used to cache blocks
  39.                       * under. */
  40.     int            leastCachedSeqNum; /* The least log sequence number in
  41.                         * the in memory log. */
  42.     Boolean        paused;        /* Log traffic is currently paused. */
  43.     Sync_Condition    logPausedWait;  /* Wait for paused to become false. */
  44. } LfsDirLog;
  45.  
  46. extern LfsDirOpLogEntry *LfsDirLogEntryAlloc _ARGS_((struct Lfs *lfsPtr, 
  47.             int entrySize, int logSeqNum, Boolean *foundPtr));
  48.  
  49. #endif /* _LFSDIRLOGINT */
  50.  
  51.